package uk.org.landeg.euler.problems.unported;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Vector;

public class Euler124 extends AbstractProblem {
	
	@Override
	public String solve() {
		Vector<Rad> radicals = new Vector<Rad>();
		ArrayList<Long> primes = Utils.getPrimes(100000);
		out.println("Largest Prime : " + primes.get(primes.size() -1));
		int rad;
		long n1;
		int total = 0;
		HashMap<Integer, Integer> factors = null;

		int sols;
		int pow[] = {0,0,0,0};
		int prm[] = {2,3,5,7};
		boolean finished = false;
		long prod = 0;
		while (!finished) {
			while (prod < 1000) {
				
			}
		}
		return out.toString();
	}
	
	public Euler124() throws IOException {
		
	}
	
	class Rad implements Comparable<Rad>{
		private int n;
		private int rad;
		
		public Rad(int n, int rad) {
			this.n = n;
			this.rad = rad;
		}
		public int getN() {
			return n;
		}
		
		public void setN(int n) {
			this.n = n;
		}
		
		public int getRad() {
			return rad;
		}
		
		public void setRad(int rad) {
			this.rad = rad;
		}
		
		public int compareTo(Rad arg0) {
			return rad - arg0.getRad();
		}

		
		@Override
		public String toString() {
			return "Rad [n=" + n + ", rad=" + rad + "]";
		}
		@Override
		public int hashCode() {
			final int prime = 31;
			int result = 1;
			result = prime * result + getOuterType().hashCode();
			result = prime * result + n;
			return result;
		}

		@Override
		public boolean equals(Object obj) {
			if (this == obj)
				return true;
			if (obj == null)
				return false;
			if (getClass() != obj.getClass())
				return false;
			Rad other = (Rad) obj;
			if (!getOuterType().equals(other.getOuterType()))
				return false;
			if (n != other.n)
				return false;
			return true;
		}

		private Euler124 getOuterType() {
			return Euler124.this;
		}
		
		
	}


}
